package ln.javatest.day13.demo01;

import java.util.Arrays;
import java.util.Comparator;

/*
Lambda表达式有参数有返回值的练习
需求：
    使用数组存储多个Person对象
    对数组中的Person对象使用Arrays的sort方法通过年龄进行升序排序

*/
public class Demo01Arrays {
    public static void main(String[] args) {
        //使用数组存储多个Person对象
        Person[] arr = {
                new Person("王嘉尔",18),
                new Person("易烊千玺",25),
                new Person("王一博",15),
        };
        /*//对数组中的Person对象使用Arrays的sort方法通过年龄进行升序排序
        Arrays.sort(arr, new Comparator<Person>() {
            @Override
            public int compare(Person o1, Person o2) {
                return o1.getAge()-o2.getAge();
            }
        });*/
        //使用Lambda表达式，简化匿名内部类
        Arrays.sort(arr,(Person o1,Person o2)->{
            return o1.getAge()-o2.getAge();
        });
        //打印排序后的结果
        for (Person p : arr) {
            System.out.println(p);
        }
    }
}
